package com.ourteam.system.domain;

import net.dao.IDataPopulateCallback;

import org.apache.commons.beanutils.BeanMap;
import org.apache.commons.lang.ArrayUtils;

import java.util.HashMap;

/**
 * Template Name : DTO数据对象
 * Template Version : 1
 * Template Last Modfiy Date : Thu Jul 12 16:34:06 CST 2018
 * Auto Generate Date : 2018-07-20 12:05:08
  * Warning ! This file will be overwrite when regenerate !
  *
 */
import java.util.Map;


public class SysMessageReadStatusBean implements java.io.Serializable {
    private static Map<String, String> mappedDaoFields = new HashMap<String, String>();

    static {
        mappedDaoFields.put("id",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.Id);

        mappedDaoFields.put("sysMessageId",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessageId);

        mappedDaoFields.put("receiverId",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.ReceiverId);

        mappedDaoFields.put("readTime",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.ReadTime);

        mappedDaoFields.put("status",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.Status);

        mappedDaoFields.put("remarks",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.Remarks);

        mappedDaoFields.put("receiverName",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.ReceiverName);

        mappedDaoFields.put("receiverAccount",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.ReceiverAccount);

        mappedDaoFields.put("sysMessageSenderId",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessageSenderId);

        mappedDaoFields.put("sysMessageSenderName",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessageSenderName);

        mappedDaoFields.put("sysMessageSenderAccount",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessageSenderAccount);

        mappedDaoFields.put("sysMessageTitle",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessageTitle);

        mappedDaoFields.put("sysMessagePriority",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessagePriority);

        mappedDaoFields.put("sysMessageSendTime",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessageSendTime);

        mappedDaoFields.put("sysMessageStatus",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessageStatus);

        mappedDaoFields.put("isDroped",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.IsDroped);

        mappedDaoFields.put("sysMessageContent",
            com.ourteam.system.dao.ISysMessageReadStatusDAO.SysMessageContent);
    }

    private com.ourteam.system.dao.SysMessageReadStatus sysMessageReadStatus;

    public SysMessageReadStatusBean() {
        super();

        this.sysMessageReadStatus = new com.ourteam.system.dao.SysMessageReadStatus();
    }

    public SysMessageReadStatusBean(
        com.ourteam.system.dao.SysMessageReadStatus sysMessageReadStatus) {
        super();

        this.sysMessageReadStatus = sysMessageReadStatus;
    }

    protected BeanMap getBeanMap() {
        return new BeanMap(sysMessageReadStatus);
    }

    public static String getMappedDAOField(String aAttrName) {
        return mappedDaoFields.get(aAttrName);
    }

    public com.ourteam.system.dao.SysMessageReadStatus convertToSysMessageReadStatus() {
        return this.sysMessageReadStatus;
    }

    public com.ourteam.system.dao.SysMessageReadStatus convertTo() {
        return this.sysMessageReadStatus;
    }

    /**
     * Get id
     *
     * @return long
     */
    public long getId() {
        return (long) this.sysMessageReadStatus.getId();
    }

    /**
     * Set id
     *
     * @parameter long
     */
    public void setId(long id) {
        this.sysMessageReadStatus.setId(id);
    }

    /**
     * Get sysMessageId
     *
     * @return long
     */
    public long getSysMessageId() {
        return (long) this.sysMessageReadStatus.getSysMessageId();
    }

    /**
     * Set sysMessageId
     *
     * @parameter long
     */
    public void setSysMessageId(long sysMessageId) {
        this.sysMessageReadStatus.setSysMessageId(sysMessageId);
    }

    /**
     * Get receiverId
     *
     * @return long
     */
    public long getReceiverId() {
        return (long) this.sysMessageReadStatus.getReceiverId();
    }

    /**
     * Set receiverId
     *
     * @parameter long
     */
    public void setReceiverId(long receiverId) {
        this.sysMessageReadStatus.setReceiverId(receiverId);
    }

    /**
     * Get readTime
     *
     * @return java.util.Date
     */
    public java.util.Date getReadTime() {
        return (java.util.Date) this.sysMessageReadStatus.getReadTime();
    }

    /**
     * Set readTime
     *
     * @parameter java.util.Date
     */
    public void setReadTime(java.util.Date readTime) {
        this.sysMessageReadStatus.setReadTime(readTime);
    }

    /**
     * Get status
     *
     * @return String
     */
    public String getStatus() {
        return (String) this.sysMessageReadStatus.getStatus();
    }

    /**
     * Set status
     *
     * @parameter String
     */
    public void setStatus(String status) {
        this.sysMessageReadStatus.setStatus(status);
    }

    /**
     * Get remarks
     *
     * @return String
     */
    public String getRemarks() {
        return (String) this.sysMessageReadStatus.getRemarks();
    }

    /**
     * Set remarks
     *
     * @parameter String
     */
    public void setRemarks(String remarks) {
        this.sysMessageReadStatus.setRemarks(remarks);
    }

    /**
     * Get receiverName
     *
     * @return String
     */
    public String getReceiverName() {
        return (String) this.sysMessageReadStatus.getReceiverName();
    }

    /**
     * Get receiverAccount
     *
     * @return String
     */
    public String getReceiverAccount() {
        return (String) this.sysMessageReadStatus.getReceiverAccount();
    }

    /**
     * Get sysMessageSenderId
     *
     * @return long
     */
    public long getSysMessageSenderId() {
        return (long) this.sysMessageReadStatus.getSysMessageSenderId();
    }

    /**
     * Get sysMessageSenderName
     *
     * @return String
     */
    public String getSysMessageSenderName() {
        return (String) this.sysMessageReadStatus.getSysMessageSenderName();
    }

    /**
     * Get sysMessageSenderAccount
     *
     * @return String
     */
    public String getSysMessageSenderAccount() {
        return (String) this.sysMessageReadStatus.getSysMessageSenderAccount();
    }

    /**
     * Get sysMessageTitle
     *
     * @return String
     */
    public String getSysMessageTitle() {
        return (String) this.sysMessageReadStatus.getSysMessageTitle();
    }

    /**
     * Get sysMessagePriority
     *
     * @return String
     */
    public String getSysMessagePriority() {
        return (String) this.sysMessageReadStatus.getSysMessagePriority();
    }

    /**
     * Get sysMessageSendTime
     *
     * @return java.util.Date
     */
    public java.util.Date getSysMessageSendTime() {
        return (java.util.Date) this.sysMessageReadStatus.getSysMessageSendTime();
    }

    /**
     * Get sysMessageStatus
     *
     * @return String
     */
    public String getSysMessageStatus() {
        return (String) this.sysMessageReadStatus.getSysMessageStatus();
    }

    /**
     * Get isDroped
     *
     * @return String
     */
    public String getIsDroped() {
        return (String) this.sysMessageReadStatus.getIsDroped();
    }

    /**
     * Set isDroped
     *
     * @parameter String
     */
    public void setIsDroped(String isDroped) {
        this.sysMessageReadStatus.setIsDroped(isDroped);
    }

    /**
     * Get sysMessageContent
     *
     * @return String
     */
    public String getSysMessageContent() {
        return (String) this.sysMessageReadStatus.getSysMessageContent();
    }

    public int hashCode() {
        return org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(this);
    }

    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        } // end if

        if ((obj instanceof SysMessageReadStatusBean) == false) {
            return false;
        } // end if

        SysMessageReadStatusBean other = (SysMessageReadStatusBean) obj;

        boolean isEqual = false;

        com.ourteam.system.dao.SysMessageReadStatus tempSysMessageReadStatus = other.convertToSysMessageReadStatus();

        if ((tempSysMessageReadStatus == null) ||
                (this.sysMessageReadStatus == null)) {
            isEqual = false;
        } else if ((tempSysMessageReadStatus == this.sysMessageReadStatus) ||
                tempSysMessageReadStatus.equals(this.sysMessageReadStatus)) {
            isEqual = true;
        } else {
            isEqual = false;
        }

        return isEqual;
    }

    public static SysMessageReadStatusBean[] toArray(
        com.ourteam.system.dao.SysMessageReadStatus[] aSysMessageReadStatuss) {
        return toArray(aSysMessageReadStatuss, null);
    }

    public static SysMessageReadStatusBean[] toArray(
        com.ourteam.system.dao.SysMessageReadStatus[] aSysMessageReadStatuss,
        IDataPopulateCallback aCallBack) {
        if (ArrayUtils.isEmpty(aSysMessageReadStatuss)) {
            return new SysMessageReadStatusBean[0];
        }

        int length = aSysMessageReadStatuss.length;

        SysMessageReadStatusBean[] beans = new SysMessageReadStatusBean[length];

        for (int i = 0; i < length; i++) {
            beans[i] = new SysMessageReadStatusBean(aSysMessageReadStatuss[i]);

            if (aCallBack != null) {
                aCallBack.populate(beans[i],
                    new Object[] { aSysMessageReadStatuss[i] });
            }
        }

        return beans;
    }
}
